package br.com.insight.consultoria.negocio.bo;

import java.util.List;

import br.com.insight.consultoria.entity.PerguntaSecreta;
import br.com.insight.consultoria.erro.exception.InsightConstants;
import br.com.insight.consultoria.erro.exception.InsightException;
import br.com.insight.consultoria.erro.exception.SistemaException;
import br.com.insight.consultoria.integracao.dao.interfacedao.PerguntaSecretaDAO;
import br.com.insight.consultoria.negocio.bo.interfacebo.PerguntaSecretaBO;

public class PerguntaSecretaImpBO implements PerguntaSecretaBO{

	private PerguntaSecretaDAO perguntaSecretaDAO;
	
	@Override
	public void inserir(PerguntaSecreta perguntaSecreta)
			throws InsightException {
		
		try{
			
			getPerguntaSecretaDAO().inserir(perguntaSecreta);
			
			
		}catch(InsightException exception){
			
			throw exception;
			
		}catch(Exception exception){
			
			throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
			
		}
		
	}
	
	@Override
	public void alterar(PerguntaSecreta perguntaSecreta)
			throws InsightException {
		
		try{
			
			getPerguntaSecretaDAO().alterar(perguntaSecreta);
			
		}catch(InsightException exception){
			
			throw exception;
			
		}catch(Exception exception){
			
			throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
			
		}
		
	}
	
	@Override
	public void excluir(PerguntaSecreta perguntaSecreta)
			throws InsightException {

		try{
			
			getPerguntaSecretaDAO().excluir(perguntaSecreta);
			
		}catch(InsightException exception){
			
			throw exception;
			
		}catch(Exception exception){
			
			throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
			
		}
		
	}
	
	@Override
	public PerguntaSecreta getPerguntaSecreta(Long id) throws InsightException {
		
		PerguntaSecreta perguntaSecreta=null;
		
		try{
			
			perguntaSecreta=getPerguntaSecretaDAO().getPerguntaSecreta(id);
			
		}catch(InsightException exception){
			
			throw exception;
			
		}catch(Exception exception){
			
			throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
			
		}
		
		return perguntaSecreta;
	}
	
	@Override
	public List<PerguntaSecreta> listaPerguntaSecreta() throws InsightException {
		
		List<PerguntaSecreta> lista=null;
		
		try{
			
			lista=getPerguntaSecretaDAO().listaPerguntaSecreta();
			
		}catch(InsightException exception){
			
			throw exception;
			
		}catch(Exception exception){
			
			throw new SistemaException(InsightConstants.MENSAGEM_ERRO_NAO_TRATADO,exception);
			
		}
		
		return lista;
	}

	public PerguntaSecretaDAO getPerguntaSecretaDAO() {
		return perguntaSecretaDAO;
	}

	public void setPerguntaSecretaDAO(PerguntaSecretaDAO perguntaSecretaDAO) {
		this.perguntaSecretaDAO = perguntaSecretaDAO;
	}
	
}
